﻿using CommunityToolkit.Mvvm.ComponentModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;
using System.Runtime.CompilerServices;
using System.Text.Json.Serialization;

namespace XYAC.Framework.MonitorTireMaterialManual.Entities
{
    //public class EntityBase<T> : INotifyPropertyChanged, INotifyPropertyChanging where T : new()
    //public class EntityBase<T> where T : new()
    public class EntityBase<T>: ObservableObject where T : new()
    {
        /// <summary>
        /// ID主键
        /// </summary>
        public virtual T ID { get; set; }
        /// <summary>
        /// 是否删除
        /// </summary>
        public virtual bool? IsDeleted { get; set; }
       /*
        public event PropertyChangedEventHandler? PropertyChanged;
   
        public event PropertyChangingEventHandler? PropertyChanging;

        protected void NotifyPropertyChanging([CallerMemberName] string propertyName = "")
        {
            PropertyChanging?.Invoke(this, new PropertyChangingEventArgs(propertyName));
        }

        protected void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }
       */
    }
}
